草庐IT

Python NotImplemented 常量

全部标签

c++ - 使用 pimpl 习惯用法时如何创建私有(private)静态常量字符串

背景我一直在学习如何使用HerbSutter在本页描述的更新的c++11方法来实现pimpl习语:https://herbsutter.com/gotw/_100/我试图通过向私有(private)实现添加成员变量来修改此示例,特别是std::string(尽管char*具有相同的问题)。问题由于使用了staticconst非整数类型,这似乎是不可能的。只能对整数类型进行类内初始化,但由于它是静态的,因此也不能在构造函数中进行初始化。解决这个问题的方法是在头文件中声明私有(private)变量,并在实现中对其进行初始化,如下所示:C++staticconstantstring(clas

c++ - 为了保持全局空间空闲,我应该在哪里放置我的类需要的常量?

首先:我知道如何编写程序,所以我不会寻求帮助。但是,我正在粘贴该问题的拷贝,以便您了解作业的内容。我的问题专门针对您将变量放在哪里以防止将所有内容都全局化?作业设计一个名为Date的类,该类具有用于存储月、日和年的整数数据成员。该类应该有一个三参数默认构造函数,允许在创建新的Date对象时设置日期。如果用户创建一个Date对象而不传递任何参数,或者传递的任何值无效,则应使用默认值1、1、2001(即2001年1月1日)。该类应具有成员函数以下列格式打印日期:3/15/10March15,201015March2010问题1)老师指导我们避免在代码中使用魔数(MagicNumber),所

c++ - 如果没有对它的常量引用,临时对象会被删除吗?

让我们看一下这两个函数:std::stringget_string(){std::stringret_value;//Calculateret_value...returnret_value;}voidprocess_c_string(constchar*s){std::cout这里有两个可能的process_c_string调用,参数由get_string返回。没有绑定(bind)const引用到get_string的返回对象。process_c_string(get_string().c_str());对get_string的返回对象绑定(bind)const引用。conststd

c++ - 常量正确性和硬件写入

假设我有以下成员函数:voidCFoo::regWrite(intaddr,intdata){reg_write(addr,data);//drivercalltoe.g.writeafirmwareregister}显然,调用此函数不会修改调用它的对象的内部状态。但是,它会更改此Foo实例代表的任何状态。在这些情况下,Foo::regWrite(intaddr,intdata)应该是一个常量函数吗? 最佳答案 你必须决定CFoo类的“逻辑常量”的含义是什么,这取决于类的用途。如果CFoo被解释为引用某些数据,那么能够通过const

C++ - 我应该使 `operator+` 为常量吗?它会返回引用吗?

当一个类重载operator+时,是否应该声明为const,因为它不对对象做任何赋值?另外,我知道operator=和operator+=返回一个引用,因为进行了赋值。但是,operator+呢?当我实现它时,我应该复制当前对象,将给定对象添加到该对象,然后返回该值吗?这是我的:classPoint{public:intx,inty;Point&operator+=(constPoint&other){X+=other.x;Y+=other.y;return*this;}//Theaboveseemsprettystraightforwardtome,butwhataboutthis?

c++ - 编译器为具有引用和常量成员的类生成的复制/赋值函数

我正在阅读的书说,当您的类包含引用成员或常量成员时,使用编译器生成的复制构造函数或赋值运算符将不起作用。例如,#include#includeusingnamespacestd;classTextBlock{public:TextBlock(stringstr):s(str){cout根据我的书,TextBlockq(p);和q=p;这两个行都应该返回编译器错误。但是使用Linux的g++编译器时,我只收到q=p;行的错误当我注释掉它时,它工作正常并且代码编译。正确的s是Q的输出,所以它显然是由编译器生成的复制构造函数复制的。当我将string&s;行更改为conststrings时,

c++ - constexpr - 函数不能用在常量表达式中

我想在编译时为给定范围内的数学函数计算一个查找表,然后在运行时从该表中检索值。我的代码如下:#include#includetemplateclassLookupTable{public:constexprLookupTable(doublexMin,doublexMax):array(),xMin(xMin),xMax(xMax),dx((xMax-xMin)/(size-1)){for(autoi=0;i((x-xMin)/dx),0),size-1)];}private:doublearray[size];doublexMin;doublexMax;doubledx;};intm

c++ - 将模板类型与常量数值进行比较

是否有更好的方法来执行以下操作?我有一个vector类,具有以下功能:templateboolVector3::IsUnitVector()const{returnIsAlmostEqual(this->GetLength(),One::Value());}由于T可以是float或double(我使用显式模板实例化来确保只支持这些类型),我必须创建一个辅助类,它以正确的类型返回值1:templatestructOne{staticTValue();};templatestructOne{staticintValue(){return1;}};templatestructOne{stat

c++ - 如何填充常量着色器以避免 E_INVALIDARG?

我正在调查一个E_INVALIDARG异常,当我尝试创建第二个常量缓冲区来存储我的灯光信息时抛出该异常://creatematrixstackearlyCD3D11_BUFFER_DESCconstantMatrixBufferDesc(sizeof(ModelViewProjectionConstantBuffer),D3D11_BIND_CONSTANT_BUFFER);DX::ThrowIfFailed(m_d3dDevice->CreateBuffer(&constantMatrixBufferDesc,nullptr,&m_constantMatrixBuffer));DX:

C++ *常量 *常量

我试图为此搜索答案,但我发现很难找到这种“确切”的例子。我对指向指针的指针知之甚少,我觉得除了指向某物的指针之外,还有更多东西隐藏在它的表层之下。那么你们会如何翻译呢?voidfree(shame_1*const*constgroup_1);如果我把它翻译成constgroup_1pointertoconstpointertoshame_1对吗?谢谢。 最佳答案 shame_1*const*constgroup_1;声明一个名为group_1的变量,其类型是一个常量指针(您不能更改它指向的位置)到另一个指向shame_1类型对象的常